package com.axend.lib_base.bean

/**
 * @description 温度类型
 */
enum class TempType constructor(
    index: Int,
    speciesType: SpeciesType,
    /**
     * 温度报警
     */
    val temperatureUpLimit: Float,
    val temperatureLowLimit: Float,
    /**
     * 温度警告
     */
    val temperatureWarningUpLimit: Float,
    val temperatureWarningLowLimit: Float,
) {
    /**
     * 狗摄氏度
     */
    DOG_CENTIGRADE(
        1,
        SpeciesType.DOG,
        // 温度报警（摄氏度）
        40.6f,
        36.7f,
        // 温度警告（摄氏度）
        39.4f,
        37.8f
    ),

    /**
     * 狗华氏度
     */
    DOG_FAHRENHEIT(
        0,
        SpeciesType.DOG,
        // 温度报警（华氏度）
        105f,
        98f,
        // 温度警告（华氏度）
        103f,
        100f
    ),


    /**
     * 猫摄氏度
     */
    CAT_CENTIGRADE(
        1,
        SpeciesType.CAT,
        // 温度报警（摄氏度）
        40.6f,
        36.1f,
        // 温度警告（摄氏度）
        38.9f,
        37.2f
    ),
    /**
     * 猫华氏度
     */
    CAT_FAHRENHEIT(
        0,
        SpeciesType.CAT,
        // 温度报警（华氏度）
        105f,
        97f,
        102f,
        99f,
    );

    companion object{
        /**
         * 根据宠物类型和index值获取类型
         */
        fun getTempType(speciesType: SpeciesType, index: Int): TempType {
            return when (speciesType) {
                SpeciesType.DOG -> {
                    when (index) {
                        0 -> DOG_FAHRENHEIT
                        else -> DOG_CENTIGRADE
                    }
                }
                SpeciesType.CAT -> {
                    when (index) {
                        0 -> CAT_FAHRENHEIT
                        else -> CAT_CENTIGRADE
                    }
                }
            }
        }
    }


}